v21.1.0: adopt CIRISPersist v42.1.0; the cohab lane carries the verify pin (#579) - #580
Merged
Conversation
…verify pin (#579) ## persist v42.0.0 -> v42.1.0 — currency, and a read-path speedup edge uses MINOR: same major, all four ABI constants unchanged, verify stays v15.0.0, the >=42,<43 floor holds. Tag derefs to 00bc08e; one copy each. #817 — dimension reads were O(rows the node authored). Both dimension axes compiled to a per-row json_extract; V137 indexes the generated `dimension` column V106 added and nothing used. Reaches edge directly: messages_in_room and the chat readers filter by chat:* dimension and are now index-served. #818 — a dimension-prefix filter compares bytes. SQLite's LIKE was case-insensitive, so list_scores / list_attestations returned different row sets per backend under CC 3.1.7 R3. Edge emits only lowercase dimensions, so no edge read returned a wrong row — the predicate is now correct everywhere. ## #579 — every cohab cell on the v21.0.0 tag run died at pip-install The user requested ciris-verify==14.2.0 ciris-persist 42.0.0 depends on ciris-verify<16 and >=15.0.0 ERROR: ResolutionImpossible Before a single test ran. The release itself was unaffected (15 assets). Edge's extract-substrate-pins job DELIBERATELY omitted a verify override, on reasoning that was true and still wrong: edge consumes verify through persist, and persist's wheel pins the matching ciris-verify transitively — so an override looked unnecessary. What that missed: the conformance matrix carries its OWN explicit ciris-verify==14.2.0 in `stack`, the override never touched it, and an explicit user pin beats a transitive range. The set was incoherent by construction, latent through every prior adopt, exposed the first time persist's firewall crossed a verify major. The job now emits ciris-verify>=MAJOR,<MAJOR+1 from the ciris-keyring Cargo tag: a RANGE mirroring persist's own firewall shape (a verify patch ahead of edge's pin still resolves); a plain PyPI spec, not git+ (the Python project is at bindings/python, not the repo root — the v16.0.1 lesson); the tag major IS the wheel major now (bump-version.sh moves both). ciris-server's wheel carries no ciris-verify dependency (verified on PyPI for 0.5.198 and 0.5.203), so this cannot create a third conflict. Dry-run against this Cargo.toml emits {"ciris-persist": "git+…@v42.1.0", "ciris-verify": "ciris-verify>=15,<16"}. Done when the v21.1.0 tag run's six cohab cells are green. Verified: cargo check --all-targets (the post-dep-bump compile gate) clean; clippy -D warnings clean on pyo3-full --all-targets; lib + integration suites, every cargo exit captured; evidence TSV regenerated for 21.1.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NGkrcZ7Fgor8taio1YXVxB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A MINOR on v21.0.0. Closes #579.
persist v42.0.0 → v42.1.0 — currency, and a read-path speedup edge uses
Same major, all four ABI constants unchanged, verify stays v15.0.0,
>=42,<43floor holds. Tag derefs to00bc08e;cargo tree -ishows one copy each.dimensioncolumn V106 added and nothing used. Reaches edge directly:messages_in_roomand the chat readers filter bychat:*and are now index-served, not a corpus scan.LIKEwas case-insensitive, so two backends disagreed under CC 3.1.7 R3. Edge emits only lowercase dimensions, so no edge read had returned a wrong row — the predicate is now correct everywhere.#579 — every cohab cell on the v21.0.0 tag run died at pip-install
Before a single test ran. The v21.0.0 release itself was unaffected (15 assets, manifest + upload green).
Root cause is in edge.
extract-substrate-pinsinjects edge's own pins into CIRISConformance's lane and deliberately omitted a verify override, on reasoning that was true and still wrong: persist pins the matchingciris-verifytransitively, so an override looked unnecessary. What it missed: the conformance matrix carries its own explicitciris-verify==14.2.0, the override never touched it, and an explicit pin beats a transitive range. Incoherent by construction, latent through every prior adopt, exposed the first time persist's firewall crossed a verify major.Fix. The job now also emits
ciris-verify>=MAJOR,<MAJOR+1from theciris-keyringCargo tag:git+…— the Python project lives atbindings/python(the v16.0.1 lesson the old comment got right);bump-version.shmoves both; PyPI 15.0.0 ↔ tag v15.0.0), so the old "Rust tag ≠ Python version" comment was stale;ciris-verifydependency (verified on PyPI for 0.5.198 and 0.5.203).Dry-run against this
Cargo.tomlemits exactly{"ciris-persist": "git+…@v42.1.0", "ciris-verify": "ciris-verify>=15,<16"}.Done when this tag run's six cohab cells are green — that's the only test that can prove it, since the failure was in the lane's install step.
Verification
cargo check --all-targetsclean — the post-dep-bump compile gate, after the v15 lesson that--libskips#[cfg(test)]-D warningsclean on pyo3-full--all-targetsv42.1.0#00bc08e🤖 Generated with Claude Code
https://claude.ai/code/session_01NGkrcZ7Fgor8taio1YXVxB